class CreateAccounts < ActiveRecord::Migration
  def self.up
    create_table :accounts do |t|
      # Tutti questi attributi sono richiesti da authlogic
      # a noi basta impostare :login e :email, al resto ci pensa lui
      t.string :login, :null => false
      t.string :email, :null => false
      t.string :crypted_password, :null => false
      t.string :password_salt, :null => false
      t.string :persistence_token, :null => false
      t.string :single_access_token, :null => false
      t.string :perishable_token, :null => false
      t.integer :login_count, :null => false, :default => 0
      t.integer :failed_login_count, :null => false, :default => 0
      t.datetime :last_request_at
      t.datetime :current_login_at
      t.datetime :last_login_at
      t.string :current_login_ip
      t.string :last_login_ip

      # Questa direttiva invece crea le colonne utili per la relazione
      # polimorfica
      t.references :user, :polymorphic => true

      # Questa direttiva invece serve a Rails per non so cosa ^_^
      t.timestamps
    end
  end

  def self.down
    drop_table :accounts
  end
end
